#include "processbar.h"
#include <stdlib.h>
#include <time.h>

#define FILESIZE 1024*1024*1024
// 设计一个使用场景
void download(callback_t cb)
{
    srand(time(NULL)^1023);
    int total = FILESIZE;
    while(total)
    {
        usleep(1000);
        int one = rand()%(1024*1024);// 一次下载的量
        total -= one;
        if(total < 0) total = 0;

        // 利用当前的进度刷新进度条
        int download = FILESIZE - total; // 已经下载的体积
        double rate = (download*1.0/(FILESIZE))*100.0; // 下载的进度设计为百分比的格式
        cb(rate);
    }
}

int main()
{
   // process();
    download(process_flush); // 使用回调函数的方式刷新进度条 
    return 0;
}
